####################################################################################################
#S  #   #     # #           #     #             #       #                     #   #     #         ##
### # # ### # # # ####### # # # ### ######### ### # ##### # ############### ### # # # ### ##### # ##
# #   #     # # # # #     # # # #   #       #     #       #     #   # #     #   #   # #   #     # ##
# ########### # # # # ##### ### # ### ##### ################### # # # # ##### ####### # ### ##### ##
#         #   # #   #     #     #   # #       #         #     #   # #   #   #   # #   # # # #   # ##
# ### ##### ### ### ##### ##### ### ### ##### ####### # # ### ##### ##### # ### # # # # # # # # # ##
#   # #     #     #   # #   #   # #   # #   #     #   # # # # #   #   #   #   # # # # #   #   # # ##
##### # ######### ### # ### # ### ### # # ####### # ### # # # # # ### # ##### # # # ### ##### # ####
#     # #           #     # #       #   #         # #   # # #   #   #     #   # # # #   #   # #   ##
# ##### ##### ########### # ####### ##### ######### # ### # # ##### ####### ### # # # ### # ##### ##
# #   #     # #   #     # # #   #   #     #     #   #     #   #   #   #     #   # # #   # #       ##
# # # ##### # # # # ### # # # # ### # ##### ### ### ########### # ##### ### # ### # ### # ####### ##
#   #     # #   #   # # # #   #   # #     #   #     #           #     #   # # #   #     # #   #   ##
# ####### # # ####### # # ####### ####### ### ##### # ############### ### # # # # ####### # # ######
#     # # # #     #   #   #     #         #   #   # # #   #         #   # # #   # #     # # #     ##
##### # # # ##### # # ####### ########### # ### # ### # # # ####### ### # ####### # ### # # ##### ##
# #   # #   #   #   #         #   #     #   #   #     # #         #   # #         # # #   # #   # ##
# # ### ##### # ############# # # # ### ### # ########### ####### # ### # ######### # ### # ### # ##
# #   #       #   #         # # #   # #   # #           # #     # # #   #       # # #     # #   # ##
# ### ### ####### ### # ### # # ##### ### ##### ####### # # ### ### # ######### # # ### ### # ### ##
#   #     #     #   # # #   # #     #   # #   #   #     # #   #   # # #       #   #   #   # # #   ##
# # ####### ####### ### # ### ##### # # # # # ##### ##### ### ### # # # ### # ### ### ##### # # # ##
# #         #   #   #   #   #   #   # # # # #     # #       #   #   # # # # #   # # #         # # ##
# ######### # # # ### ##### ### # ### ### # ##### # ####### ### ##### # # # ##### # ########### # ##
#   #     # # #   #       #  E# #   #     #   # # #     # #   #     # #   #         #     #     # ##
### ##### # # ####### ### # ### ### ##### ### # # # ### # # ####### # ### ######### # ##### ##### ##
#   #     # #       # #   # #     #     # #   #   #   # #   #     # # #     #   #   # #     #   # ##
# ### ##### ####### # # ##### ######### # # ### ##### # ##### ### # # ####### # # ### # ####### # ##
#     #   #       # # # #   # #         #   # #     # # #     #   #   #     # # #     # #       # ##
####### # # ### ### ### # # # # ############# ##### # # # ##### ### ### ### # # ##### # # # ##### ##
#       # # #   #   #   # #   #       # #         # # #     #   # # #     #   # #   # # # # #     ##
# ####### # # ### ### ### ########### # # # ##### # ##### ### ### # ##### ##### # # # # # # # ######
#   #     # # #   #           #       #   #     # # #   # #   # #   #     #   # # #   # # # #   # ##
# # ##### # ### ### ########### ############# # # # # # # # ### # ### ##### # # # ##### # # ### # ##
# #     # # #   # # #     #   # #           # # # #   # # #   # #     #   # # # # #   # # #     # ##
# ##### # # # ### # # ### # # # # # ####### ### # ##### # ### # ####### # # # # # ### # # ####### ##
#     # # # # # #   #   #   #   # # #     #     # # #   # #   #         # # # # #     # #         ##
# ##### # # # # # ##### ########### # ########### # # ##### ### ##### ### # # # ####### ######### ##
# #     # # # #   #     #           #           # # #     #   # #     #     # #     #   #         ##
### ##### # # ##### ##### ########### ##### ### # # ##### ### # # ######### ####### # # ######### ##
#   #   #   #       #     #       #   #   # #   #       #   # # #         # #       # # #       # ##
# ##### ### ######### # ### ##### ### # # # ####### ####### # ####### ### # # ####### # # ##### # ##
# #       # #       # # #     # #   # # # # #       #     # #       #   # # # # #     # # # #   # ##
# # ### ### # ##### # # ### # # ### ### # # # ####### ### # # ##### # ### ### # # ### ### # # ### ##
# #   # #   #     # # #   # # #         #   #   #     # # # #     # # #   #   #     #     # #   # ##
# ### # # ####### # ### # ### # ############### # ##### # # ##### # ### # # ######### ##### ### # ##
#   # # # #     # #   # #   # #     #     #     #     # # # # #   #   # # #         # #       # # ##
### # ### # # # # ### ##### # ####### ### # ######### # # # # # ##### # # ######### # # ####### # ##
#   #     # # #   #         #           # # #     # #   #   #   #     # #       #   # #   #     # ##
# ### ####### ########### ######### ##### # ### # # ### ####### # ##### ####### # ### ### # ##### ##
# #         # #       #   #       # #   #     # # # #   #     # # #     #     # # # # #   # # #   ##
# ######### # # ##### # ### ##### ### # ##### # # # # ### ### ### # ### # ### ### # # # ### # # ####
#     #   # #   #     # # #     #     #   # # # #   #   # #   #   #   # #   #     #     #   #   # ##
# ### # # # ### # ##### # ##### ######### # # # ### ### # # ### ### # ##### ########### # ### ### ##
#   # # # #   # #   # # #   #   #   #   # #     #     #   # #   # # #     #         #   # # #     ##
### # # # ### ##### # # # ### ### # # # # ### ############# ### # # ### ########### ##### # ##### ##
#   # # #           # # #   # #   #   # #   # #           #     #     # #         #     # # #     ##
# ### ############### # ### # # ##### ##### ### ######### ############# # ####### ##### # # # ######
#   #             #   # #   #   #     #   #     #           #           #   # #     #   # # # #   ##
### ############# # # # # ####### ##### # ####### ######### # ### ######### # # ##### ### # # ### ##
# # #     #   # # # #     #       #   # #   #   #   #   #   # #   #     #   # #     # #   # #   # ##
# # ### # # # # # ######### ####### ### ### # # ### # ### ### # ### ### # ### ##### # # ### ### # ##
#   #   # # #   #   #       #         #   #   # #   #     #   # #   #   # #   #   #   #   #   # # ##
# ### ### # # ##### # ############### ### ##### # ### ####### # # ### # # ### # # ##### # # # # # ##
#   # # # # # #     # #         #       # #   #   # #   #     # # # # # #   #   #     # # # #     ##
### # # # # # # ##### # ####### # ##### # ### ##### ### # # ##### # # ##### # ##### # # # ####### ##
# # # #     # #       #     #     #     # #   #     #   # # #   # # #       # #     # # # #   # # ##
# # # # ################### ########### # # ### # ### ##### # # # # ########### ##### ### # # # # ##
#   # #   #               #           # # #     #     #     # # #   #   #   #   #       #   # #   ##
# ### ##### ### ######### ########### ### # ########### ### # # ### # # # # # ######### # ### ######
#   # #     #   #     # # #           #   #   #         #   # #   #   #   # #       # # #   # #   ##
### # # ##### ### ### # # # # ####### # ##### # ##### # # ### ### ######### ####### # # ##### # # ##
#   # # #   #   #   # # #   # #     # #   #   # #   # # # # # # #     #   # #       #       #   # ##
# ### # # # ### # ### # # ##### ### ##### # ##### # ### # # # # ### # # ### # ############# ##### ##
#   #   # # # # # #   #   #   # #   #     #   #   #     # # #   #   # # #   #       #   #       # ##
### # ### # # # # # ####### # # # ### ####### # ######### # ### # ### # # ### ##### # # ####### # ##
#   # #   #   #   # #       # # #     #     # #   #   #   # #   #   #   # #   #   #   # #     #   ##
# ### # # ######### # ####### # ######### ### # # # ### ### # ##### ### # ##### # ##### # ### ### ##
# #   # # #       # #     # # #         #   # # # #     #   # # #   # # #   #   # #   #     #   # ##
# # ### # # ##### # ##### # # # ####### ### # ### ### ##### # # # ### # ### # ### # # ######### # ##
# #   # # #   #         # # # # #       #   #   #   #     # # # #   #   #   #   #   #     #     # ##
# ### ### ### ####### ### # # ### ####### # ### ### ##### # # # ### ### # ### # ######### # ##### ##
# #         #   #   # #   # #     #       #   #     #   # # # #   #   # # # # # #       #   #     ##
# ####### ##### # ### # ### ####### ################# ### # # # ##### ### # # # # ### ####### ######
#     #   #     #     # #         #       #           #   # # #     #     #   # # # # #   #   #   ##
##### ##### ##### ##### # ####### # ##### # ### ##### # ### # # ### ########### # # # # # # ### # ##
#   # #     #   # # #   #     # # #     # #   #     # #     # #   #           # # # #   # # #   # ##
# # # # ####### # # # ####### # # # ##### ### ##### ##### ### ########### ### # # # ##### # # ### ##
# # # # #   #   #   #     #   # # # #       #     #       #   #           #   # #     #   # # #   ##
# # # # # # # ##### ##### # ### # # # ########### ######### ### ########### ### ##### # ### # ######
# # #   # #   #     #   # #     #   #   #                 # #     #       #     #   # #   # #     ##
### ##### ##### ##### # # # ##### ##### # ################# # ### # ### ######### # # ### # # ### ##
#     #       #   #   # # # #   #     #         #       #   # #   #   # #     #   # # # # # # #   ##
# ### # ##### ### ### # # # # # ### ############# ##### # ##### ##### # # ### # ### # # # # ### # ##
# #   #   #     # #   # # # # # #   #         #   #   #   #     #     # # # # # #   #   # # #   # ##
# ####### # ##### # ### # ### # ##### ####### # ### # ####### ### ##### # # # # # ##### # # # ### ##
#         #         #   #     #             #       #         #       #     #   #       #     #   ##
####################################################################################################
####################################################################################################
